//
//  AiEngineConfig.h
//  AiEngine2
//
//  Created by hobson on 13-6-25.
//  Copyright (c) 2013年 Midfar Sun. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "AiCommonConfig.h"
/**
 *思必驰语音引擎的全局参数配置<br>
 *
 *<ul>
 *<li>配置本地引擎的配置参数{@link #setNativeConfig:(AiCommonConfig*)config}</li>
 *<li>设置应用程序appKey{@link #setAppKey:(NSString *)appKey}</li>
 *<li>设置应用程序secretKey{@link #setAppSecretKey:(NSString *)secretKey}</li>
 *</ul>
 *<p/>
 *
 */

@interface AiEngineConfig : AiCommonConfig
    
/**
 *	@brief	配置本地引擎的配置参数
 *
 *	@param 	config 	本地引擎配置参数
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setNativeConfig:(AiCommonConfig*)config;

/**
 *	@brief	设置应用程序appKey
 *
 *	@param 	appKey 	应用程序appKey
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setAppKey:(NSString *)appKey;

/**
 *	@brief	设置应用程序secretKey
 *
 *	@param 	secretKey 	应用程序secretKey
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setAppSecretKey:(NSString *)secretKey;
/**
 *	@brief	设置认证
 *
 *	@param 	provision 	 
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setProvision:(NSString *)provision;
- (OSStatus)setSerialNumber:(NSString *)serialNumber;

/**
 *	@brief	设置是否启用log打印
 *
 *	@param 	enable 	是否启用
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setProfEnable:(NSNumber *)enable;
/**
 *	@brief	设置log输出到的文件
 *
 *	@param 	output 	log输出文件
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setProfOutput:(NSString *)output;

/**
 *	@brief	获取http链接超时时间，单位秒
 *
 *	@param 	timeout 	超时时间
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setHttpTransferTimeout:(NSNumber*)timeout;

/**
 *	@brief	设置http连接超时时间，单位秒，一般使用默认值
 *
 *	@param 	timeout 	超时时间
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setHttpConnectTimeout:(NSNumber*)timeout;

/**
 *	@brief   设置是否加载Vad资源
 *
 *	@param 	vad  1:加载Vad资源; 0:不加载Vad资源
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setVadEnable:(NSNumber*)vad;
/**
 *	@brief   设置Vad采样率
 *
 *	@param 	sampleRate
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setVadSampleRate:(NSNumber*)sampleRate;
/**
 *	@brief	 设置VAD左边界（设置多长时间没有语音，触发语音结束事件）
 *
 *	@param 	leftMargin 	取值范围是（80-120）
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setVadLeftMargin:(NSNumber*)leftMargin;

/**
 *	@brief	 设置VAD右边界（设置多长时间没有语音，触发语音结束事件）
 *
 *	@param 	rightMargin 	取值范围是（80-120）
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setVadRightMargin:(NSNumber*)rightMargin;

- (OSStatus)setCloudEnable:(NSNumber*)enable;

/**
 *	@brief	设置云端服务器地址
 *
 *	@param 	server 	云端服务器URL地址
 *
 *	@return	返回函数执行状态码（0为成功）
 */
- (OSStatus)setCloudServer:(NSString*)server;

/**
 *	@brief	返回存储配置信息的字典
 *
 *	@return	配置字典对象
 */
- (NSMutableDictionary*)getDic;

@end

